//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined * undefined);
write(undefined * null);
write(undefined * true);
write(undefined * false);
write(undefined * Boolean(true));
write(undefined * Boolean(false));
write(undefined * new Boolean(true));
write(undefined * new Boolean(false));
write(undefined * NaN);
write(undefined * +0);
write(undefined * -0);
write(undefined * 0);
write(undefined * 0.0);
write(undefined * -0.0);
write(undefined * +0.0);
write(undefined * 1);
write(undefined * 10);
write(undefined * 10.0);
write(undefined * 10.1);
write(undefined * -1);
write(undefined * -10);
write(undefined * -10.0);
write(undefined * -10.1);
write(undefined * Number.MAX_VALUE);
write(undefined * Number.MIN_VALUE);
write(undefined * Number.NaN);
write(undefined * Number.POSITIVE_INFINITY);
write(undefined * Number.NEGATIVE_INFINITY);
write(undefined * new Number(NaN));
write(undefined * new Number(+0));
write(undefined * new Number(-0));
write(undefined * new Number(0));
write(undefined * new Number(0.0));
write(undefined * new Number(-0.0));
write(undefined * new Number(+0.0));
write(undefined * new Number(1));
write(undefined * new Number(10));
write(undefined * new Number(10.0));
write(undefined * new Number(10.1));
write(undefined * new Number(-1));
write(undefined * new Number(-10));
write(undefined * new Number(-10.0));
write(undefined * new Number(-10.1));
write(undefined * new Number(Number.MAX_VALUE));
write(undefined * new Number(Number.MIN_VALUE));
write(undefined * new Number(Number.NaN));
write(undefined * new Number(Number.POSITIVE_INFINITY));
write(undefined * new Number(Number.NEGATIVE_INFINITY));
write(undefined * '');
write(undefined * 0xa);
write(undefined * 04);
write(undefined * 'hello');
write(undefined * 'hel' + 'lo');
write(undefined * String(''));
write(undefined * String('hello'));
write(undefined * String('h' + 'ello'));
write(undefined * new String(''));
write(undefined * new String('hello'));
write(undefined * new String('he' + 'llo'));
write(undefined * new Object());
write(undefined * new Object());
write(undefined * [1, 2, 3]);
write(undefined * [1 ,2 , 3]);
write(undefined * new Array(3));
write(undefined * Array(3));
write(undefined * new Array(1 ,2 ,3));
write(undefined * Array(1));
write(undefined * foo);
write(null * undefined);
write(null * null);
write(null * true);
write(null * false);
write(null * Boolean(true));
write(null * Boolean(false));
write(null * new Boolean(true));
write(null * new Boolean(false));
write(null * NaN);
write(null * +0);
write(null * -0);
write(null * 0);
write(null * 0.0);
write(null * -0.0);
write(null * +0.0);
write(null * 1);
write(null * 10);
write(null * 10.0);
write(null * 10.1);
write(null * -1);
write(null * -10);
write(null * -10.0);
write(null * -10.1);
write(null * Number.MAX_VALUE);
write(null * Number.MIN_VALUE);
write(null * Number.NaN);
write(null * Number.POSITIVE_INFINITY);
write(null * Number.NEGATIVE_INFINITY);
write(null * new Number(NaN));
write(null * new Number(+0));
write(null * new Number(-0));
write(null * new Number(0));
write(null * new Number(0.0));
write(null * new Number(-0.0));
write(null * new Number(+0.0));
write(null * new Number(1));
write(null * new Number(10));
write(null * new Number(10.0));
write(null * new Number(10.1));
write(null * new Number(-1));
write(null * new Number(-10));
write(null * new Number(-10.0));
write(null * new Number(-10.1));
write(null * new Number(Number.MAX_VALUE));
write(null * new Number(Number.MIN_VALUE));
write(null * new Number(Number.NaN));
write(null * new Number(Number.POSITIVE_INFINITY));
write(null * new Number(Number.NEGATIVE_INFINITY));
write(null * '');
write(null * 0xa);
write(null * 04);
write(null * 'hello');
write(null * 'hel' + 'lo');
write(null * String(''));
write(null * String('hello'));
write(null * String('h' + 'ello'));
write(null * new String(''));
write(null * new String('hello'));
write(null * new String('he' + 'llo'));
write(null * new Object());
write(null * new Object());
write(null * [1, 2, 3]);
write(null * [1 ,2 , 3]);
write(null * new Array(3));
write(null * Array(3));
write(null * new Array(1 ,2 ,3));
write(null * Array(1));
write(null * foo);
write(true * undefined);
write(true * null);
write(true * true);
write(true * false);
write(true * Boolean(true));
write(true * Boolean(false));
write(true * new Boolean(true));
write(true * new Boolean(false));
write(true * NaN);
write(true * +0);
write(true * -0);
write(true * 0);
write(true * 0.0);
write(true * -0.0);
write(true * +0.0);
write(true * 1);
write(true * 10);
write(true * 10.0);
write(true * 10.1);
write(true * -1);
write(true * -10);
write(true * -10.0);
write(true * -10.1);
write(true * Number.MAX_VALUE);
write(true * Number.MIN_VALUE);
write(true * Number.NaN);
write(true * Number.POSITIVE_INFINITY);
write(true * Number.NEGATIVE_INFINITY);
write(true * new Number(NaN));
write(true * new Number(+0));
write(true * new Number(-0));
write(true * new Number(0));
write(true * new Number(0.0));
write(true * new Number(-0.0));
write(true * new Number(+0.0));
write(true * new Number(1));
write(true * new Number(10));
write(true * new Number(10.0));
write(true * new Number(10.1));
write(true * new Number(-1));
write(true * new Number(-10));
write(true * new Number(-10.0));
write(true * new Number(-10.1));
write(true * new Number(Number.MAX_VALUE));
write(true * new Number(Number.MIN_VALUE));
write(true * new Number(Number.NaN));
write(true * new Number(Number.POSITIVE_INFINITY));
write(true * new Number(Number.NEGATIVE_INFINITY));
write(true * '');
write(true * 0xa);
write(true * 04);
write(true * 'hello');
write(true * 'hel' + 'lo');
write(true * String(''));
write(true * String('hello'));
write(true * String('h' + 'ello'));
write(true * new String(''));
write(true * new String('hello'));
write(true * new String('he' + 'llo'));
write(true * new Object());
write(true * new Object());
write(true * [1, 2, 3]);
write(true * [1 ,2 , 3]);
write(true * new Array(3));
write(true * Array(3));
write(true * new Array(1 ,2 ,3));
write(true * Array(1));
write(true * foo);
write(false * undefined);
write(false * null);
write(false * true);
write(false * false);
write(false * Boolean(true));
write(false * Boolean(false));
write(false * new Boolean(true));
write(false * new Boolean(false));
write(false * NaN);
write(false * +0);
write(false * -0);
write(false * 0);
write(false * 0.0);
write(false * -0.0);
write(false * +0.0);
write(false * 1);
write(false * 10);
write(false * 10.0);
write(false * 10.1);
write(false * -1);
write(false * -10);
write(false * -10.0);
write(false * -10.1);
write(false * Number.MAX_VALUE);
write(false * Number.MIN_VALUE);
write(false * Number.NaN);
write(false * Number.POSITIVE_INFINITY);
write(false * Number.NEGATIVE_INFINITY);
write(false * new Number(NaN));
write(false * new Number(+0));
write(false * new Number(-0));
write(false * new Number(0));
write(false * new Number(0.0));
write(false * new Number(-0.0));
write(false * new Number(+0.0));
write(false * new Number(1));
write(false * new Number(10));
write(false * new Number(10.0));
write(false * new Number(10.1));
write(false * new Number(-1));
write(false * new Number(-10));
write(false * new Number(-10.0));
write(false * new Number(-10.1));
write(false * new Number(Number.MAX_VALUE));
write(false * new Number(Number.MIN_VALUE));
write(false * new Number(Number.NaN));
write(false * new Number(Number.POSITIVE_INFINITY));
write(false * new Number(Number.NEGATIVE_INFINITY));
write(false * '');
write(false * 0xa);
write(false * 04);
write(false * 'hello');
write(false * 'hel' + 'lo');
write(false * String(''));
write(false * String('hello'));
write(false * String('h' + 'ello'));
write(false * new String(''));
write(false * new String('hello'));
write(false * new String('he' + 'llo'));
write(false * new Object());
write(false * new Object());
write(false * [1, 2, 3]);
write(false * [1 ,2 , 3]);
write(false * new Array(3));
write(false * Array(3));
write(false * new Array(1 ,2 ,3));
write(false * Array(1));
write(false * foo);
write(Boolean(true) * undefined);
write(Boolean(true) * null);
write(Boolean(true) * true);
write(Boolean(true) * false);
write(Boolean(true) * Boolean(true));
write(Boolean(true) * Boolean(false));
write(Boolean(true) * new Boolean(true));
write(Boolean(true) * new Boolean(false));
write(Boolean(true) * NaN);
write(Boolean(true) * +0);
write(Boolean(true) * -0);
write(Boolean(true) * 0);
write(Boolean(true) * 0.0);
write(Boolean(true) * -0.0);
write(Boolean(true) * +0.0);
write(Boolean(true) * 1);
write(Boolean(true) * 10);
write(Boolean(true) * 10.0);
write(Boolean(true) * 10.1);
write(Boolean(true) * -1);
write(Boolean(true) * -10);
write(Boolean(true) * -10.0);
write(Boolean(true) * -10.1);
write(Boolean(true) * Number.MAX_VALUE);
write(Boolean(true) * Number.MIN_VALUE);
write(Boolean(true) * Number.NaN);
write(Boolean(true) * Number.POSITIVE_INFINITY);
write(Boolean(true) * Number.NEGATIVE_INFINITY);
write(Boolean(true) * new Number(NaN));
write(Boolean(true) * new Number(+0));
write(Boolean(true) * new Number(-0));
write(Boolean(true) * new Number(0));
write(Boolean(true) * new Number(0.0));
write(Boolean(true) * new Number(-0.0));
write(Boolean(true) * new Number(+0.0));
write(Boolean(true) * new Number(1));
write(Boolean(true) * new Number(10));
write(Boolean(true) * new Number(10.0));
write(Boolean(true) * new Number(10.1));
write(Boolean(true) * new Number(-1));
write(Boolean(true) * new Number(-10));
write(Boolean(true) * new Number(-10.0));
write(Boolean(true) * new Number(-10.1));
write(Boolean(true) * new Number(Number.MAX_VALUE));
write(Boolean(true) * new Number(Number.MIN_VALUE));
write(Boolean(true) * new Number(Number.NaN));
write(Boolean(true) * new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) * new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) * '');
write(Boolean(true) * 0xa);
write(Boolean(true) * 04);
write(Boolean(true) * 'hello');
write(Boolean(true) * 'hel' + 'lo');
write(Boolean(true) * String(''));
write(Boolean(true) * String('hello'));
write(Boolean(true) * String('h' + 'ello'));
write(Boolean(true) * new String(''));
write(Boolean(true) * new String('hello'));
write(Boolean(true) * new String('he' + 'llo'));
write(Boolean(true) * new Object());
write(Boolean(true) * new Object());
write(Boolean(true) * [1, 2, 3]);
write(Boolean(true) * [1 ,2 , 3]);
write(Boolean(true) * new Array(3));
write(Boolean(true) * Array(3));
write(Boolean(true) * new Array(1 ,2 ,3));
write(Boolean(true) * Array(1));
write(Boolean(true) * foo);
write(Boolean(false) * undefined);
write(Boolean(false) * null);
write(Boolean(false) * true);
write(Boolean(false) * false);
write(Boolean(false) * Boolean(true));
write(Boolean(false) * Boolean(false));
write(Boolean(false) * new Boolean(true));
write(Boolean(false) * new Boolean(false));
write(Boolean(false) * NaN);
write(Boolean(false) * +0);
write(Boolean(false) * -0);
write(Boolean(false) * 0);
write(Boolean(false) * 0.0);
write(Boolean(false) * -0.0);
write(Boolean(false) * +0.0);
write(Boolean(false) * 1);
write(Boolean(false) * 10);
write(Boolean(false) * 10.0);
write(Boolean(false) * 10.1);
write(Boolean(false) * -1);
write(Boolean(false) * -10);
write(Boolean(false) * -10.0);
write(Boolean(false) * -10.1);
write(Boolean(false) * Number.MAX_VALUE);
write(Boolean(false) * Number.MIN_VALUE);
write(Boolean(false) * Number.NaN);
write(Boolean(false) * Number.POSITIVE_INFINITY);
write(Boolean(false) * Number.NEGATIVE_INFINITY);
write(Boolean(false) * new Number(NaN));
write(Boolean(false) * new Number(+0));
write(Boolean(false) * new Number(-0));
write(Boolean(false) * new Number(0));
write(Boolean(false) * new Number(0.0));
write(Boolean(false) * new Number(-0.0));
write(Boolean(false) * new Number(+0.0));
write(Boolean(false) * new Number(1));
write(Boolean(false) * new Number(10));
write(Boolean(false) * new Number(10.0));
write(Boolean(false) * new Number(10.1));
write(Boolean(false) * new Number(-1));
write(Boolean(false) * new Number(-10));
write(Boolean(false) * new Number(-10.0));
write(Boolean(false) * new Number(-10.1));
write(Boolean(false) * new Number(Number.MAX_VALUE));
write(Boolean(false) * new Number(Number.MIN_VALUE));
write(Boolean(false) * new Number(Number.NaN));
write(Boolean(false) * new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) * new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) * '');
write(Boolean(false) * 0xa);
write(Boolean(false) * 04);
write(Boolean(false) * 'hello');
write(Boolean(false) * 'hel' + 'lo');
write(Boolean(false) * String(''));
write(Boolean(false) * String('hello'));
write(Boolean(false) * String('h' + 'ello'));
write(Boolean(false) * new String(''));
write(Boolean(false) * new String('hello'));
write(Boolean(false) * new String('he' + 'llo'));
write(Boolean(false) * new Object());
write(Boolean(false) * new Object());
write(Boolean(false) * [1, 2, 3]);
write(Boolean(false) * [1 ,2 , 3]);
write(Boolean(false) * new Array(3));
write(Boolean(false) * Array(3));
write(Boolean(false) * new Array(1 ,2 ,3));
write(Boolean(false) * Array(1));
write(Boolean(false) * foo);
write(new Boolean(true) * undefined);
write(new Boolean(true) * null);
write(new Boolean(true) * true);
write(new Boolean(true) * false);
write(new Boolean(true) * Boolean(true));
write(new Boolean(true) * Boolean(false));
write(new Boolean(true) * new Boolean(true));
write(new Boolean(true) * new Boolean(false));
write(new Boolean(true) * NaN);
write(new Boolean(true) * +0);
write(new Boolean(true) * -0);
write(new Boolean(true) * 0);
write(new Boolean(true) * 0.0);
write(new Boolean(true) * -0.0);
write(new Boolean(true) * +0.0);
write(new Boolean(true) * 1);
write(new Boolean(true) * 10);
write(new Boolean(true) * 10.0);
write(new Boolean(true) * 10.1);
write(new Boolean(true) * -1);
write(new Boolean(true) * -10);
write(new Boolean(true) * -10.0);
write(new Boolean(true) * -10.1);
write(new Boolean(true) * Number.MAX_VALUE);
write(new Boolean(true) * Number.MIN_VALUE);
write(new Boolean(true) * Number.NaN);
write(new Boolean(true) * Number.POSITIVE_INFINITY);
write(new Boolean(true) * Number.NEGATIVE_INFINITY);
write(new Boolean(true) * new Number(NaN));
write(new Boolean(true) * new Number(+0));
write(new Boolean(true) * new Number(-0));
write(new Boolean(true) * new Number(0));
write(new Boolean(true) * new Number(0.0));
write(new Boolean(true) * new Number(-0.0));
write(new Boolean(true) * new Number(+0.0));
write(new Boolean(true) * new Number(1));
write(new Boolean(true) * new Number(10));
write(new Boolean(true) * new Number(10.0));
write(new Boolean(true) * new Number(10.1));
write(new Boolean(true) * new Number(-1));
write(new Boolean(true) * new Number(-10));
write(new Boolean(true) * new Number(-10.0));
write(new Boolean(true) * new Number(-10.1));
write(new Boolean(true) * new Number(Number.MAX_VALUE));
write(new Boolean(true) * new Number(Number.MIN_VALUE));
write(new Boolean(true) * new Number(Number.NaN));
write(new Boolean(true) * new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) * new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) * '');
write(new Boolean(true) * 0xa);
write(new Boolean(true) * 04);
write(new Boolean(true) * 'hello');
write(new Boolean(true) * 'hel' + 'lo');
write(new Boolean(true) * String(''));
write(new Boolean(true) * String('hello'));
write(new Boolean(true) * String('h' + 'ello'));
write(new Boolean(true) * new String(''));
write(new Boolean(true) * new String('hello'));
write(new Boolean(true) * new String('he' + 'llo'));
write(new Boolean(true) * new Object());
write(new Boolean(true) * new Object());
write(new Boolean(true) * [1, 2, 3]);
write(new Boolean(true) * [1 ,2 , 3]);
write(new Boolean(true) * new Array(3));
write(new Boolean(true) * Array(3));
write(new Boolean(true) * new Array(1 ,2 ,3));
write(new Boolean(true) * Array(1));
write(new Boolean(true) * foo);
write(new Boolean(false) * undefined);
write(new Boolean(false) * null);
write(new Boolean(false) * true);
write(new Boolean(false) * false);
write(new Boolean(false) * Boolean(true));
write(new Boolean(false) * Boolean(false));
write(new Boolean(false) * new Boolean(true));
write(new Boolean(false) * new Boolean(false));
write(new Boolean(false) * NaN);
write(new Boolean(false) * +0);
write(new Boolean(false) * -0);
write(new Boolean(false) * 0);
write(new Boolean(false) * 0.0);
write(new Boolean(false) * -0.0);
write(new Boolean(false) * +0.0);
write(new Boolean(false) * 1);
write(new Boolean(false) * 10);
write(new Boolean(false) * 10.0);
write(new Boolean(false) * 10.1);
write(new Boolean(false) * -1);
write(new Boolean(false) * -10);
write(new Boolean(false) * -10.0);
write(new Boolean(false) * -10.1);
write(new Boolean(false) * Number.MAX_VALUE);
write(new Boolean(false) * Number.MIN_VALUE);
write(new Boolean(false) * Number.NaN);
write(new Boolean(false) * Number.POSITIVE_INFINITY);
write(new Boolean(false) * Number.NEGATIVE_INFINITY);
write(new Boolean(false) * new Number(NaN));
write(new Boolean(false) * new Number(+0));
write(new Boolean(false) * new Number(-0));
write(new Boolean(false) * new Number(0));
write(new Boolean(false) * new Number(0.0));
write(new Boolean(false) * new Number(-0.0));
write(new Boolean(false) * new Number(+0.0));
write(new Boolean(false) * new Number(1));
write(new Boolean(false) * new Number(10));
write(new Boolean(false) * new Number(10.0));
write(new Boolean(false) * new Number(10.1));
write(new Boolean(false) * new Number(-1));
write(new Boolean(false) * new Number(-10));
write(new Boolean(false) * new Number(-10.0));
write(new Boolean(false) * new Number(-10.1));
write(new Boolean(false) * new Number(Number.MAX_VALUE));
write(new Boolean(false) * new Number(Number.MIN_VALUE));
write(new Boolean(false) * new Number(Number.NaN));
write(new Boolean(false) * new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) * new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) * '');
write(new Boolean(false) * 0xa);
write(new Boolean(false) * 04);
write(new Boolean(false) * 'hello');
write(new Boolean(false) * 'hel' + 'lo');
write(new Boolean(false) * String(''));
write(new Boolean(false) * String('hello'));
write(new Boolean(false) * String('h' + 'ello'));
write(new Boolean(false) * new String(''));
write(new Boolean(false) * new String('hello'));
write(new Boolean(false) * new String('he' + 'llo'));
write(new Boolean(false) * new Object());
write(new Boolean(false) * new Object());
write(new Boolean(false) * [1, 2, 3]);
write(new Boolean(false) * [1 ,2 , 3]);
write(new Boolean(false) * new Array(3));
write(new Boolean(false) * Array(3));
write(new Boolean(false) * new Array(1 ,2 ,3));
write(new Boolean(false) * Array(1));
write(new Boolean(false) * foo);
write(NaN * undefined);
write(NaN * null);
write(NaN * true);
write(NaN * false);
write(NaN * Boolean(true));
write(NaN * Boolean(false));
write(NaN * new Boolean(true));
write(NaN * new Boolean(false));
write(NaN * NaN);
write(NaN * +0);
write(NaN * -0);
write(NaN * 0);
write(NaN * 0.0);
write(NaN * -0.0);
write(NaN * +0.0);
write(NaN * 1);
write(NaN * 10);
write(NaN * 10.0);
write(NaN * 10.1);
write(NaN * -1);
write(NaN * -10);
write(NaN * -10.0);
write(NaN * -10.1);
write(NaN * Number.MAX_VALUE);
write(NaN * Number.MIN_VALUE);
write(NaN * Number.NaN);
write(NaN * Number.POSITIVE_INFINITY);
write(NaN * Number.NEGATIVE_INFINITY);
write(NaN * new Number(NaN));
write(NaN * new Number(+0));
write(NaN * new Number(-0));
write(NaN * new Number(0));
write(NaN * new Number(0.0));
write(NaN * new Number(-0.0));
write(NaN * new Number(+0.0));
write(NaN * new Number(1));
write(NaN * new Number(10));
write(NaN * new Number(10.0));
write(NaN * new Number(10.1));
write(NaN * new Number(-1));
write(NaN * new Number(-10));
write(NaN * new Number(-10.0));
write(NaN * new Number(-10.1));
write(NaN * new Number(Number.MAX_VALUE));
write(NaN * new Number(Number.MIN_VALUE));
write(NaN * new Number(Number.NaN));
write(NaN * new Number(Number.POSITIVE_INFINITY));
write(NaN * new Number(Number.NEGATIVE_INFINITY));
write(NaN * '');
write(NaN * 0xa);
write(NaN * 04);
write(NaN * 'hello');
write(NaN * 'hel' + 'lo');
write(NaN * String(''));
write(NaN * String('hello'));
write(NaN * String('h' + 'ello'));
write(NaN * new String(''));
write(NaN * new String('hello'));
write(NaN * new String('he' + 'llo'));
write(NaN * new Object());
write(NaN * new Object());
write(NaN * [1, 2, 3]);
write(NaN * [1 ,2 , 3]);
write(NaN * new Array(3));
write(NaN * Array(3));
write(NaN * new Array(1 ,2 ,3));
write(NaN * Array(1));
write(NaN * foo);
write(+0 * undefined);
write(+0 * null);
write(+0 * true);
write(+0 * false);
write(+0 * Boolean(true));
write(+0 * Boolean(false));
write(+0 * new Boolean(true));
write(+0 * new Boolean(false));
write(+0 * NaN);
write(+0 * +0);
write(+0 * -0);
write(+0 * 0);
write(+0 * 0.0);
write(+0 * -0.0);
write(+0 * +0.0);
write(+0 * 1);
write(+0 * 10);
write(+0 * 10.0);
write(+0 * 10.1);
write(+0 * -1);
write(+0 * -10);
write(+0 * -10.0);
write(+0 * -10.1);
write(+0 * Number.MAX_VALUE);
write(+0 * Number.MIN_VALUE);
write(+0 * Number.NaN);
write(+0 * Number.POSITIVE_INFINITY);
write(+0 * Number.NEGATIVE_INFINITY);
write(+0 * new Number(NaN));
write(+0 * new Number(+0));
write(+0 * new Number(-0));
write(+0 * new Number(0));
write(+0 * new Number(0.0));
write(+0 * new Number(-0.0));
write(+0 * new Number(+0.0));
write(+0 * new Number(1));
write(+0 * new Number(10));
write(+0 * new Number(10.0));
write(+0 * new Number(10.1));
write(+0 * new Number(-1));
write(+0 * new Number(-10));
write(+0 * new Number(-10.0));
write(+0 * new Number(-10.1));
write(+0 * new Number(Number.MAX_VALUE));
write(+0 * new Number(Number.MIN_VALUE));
write(+0 * new Number(Number.NaN));
write(+0 * new Number(Number.POSITIVE_INFINITY));
write(+0 * new Number(Number.NEGATIVE_INFINITY));
write(+0 * '');
write(+0 * 0xa);
write(+0 * 04);
write(+0 * 'hello');
write(+0 * 'hel' + 'lo');
write(+0 * String(''));
write(+0 * String('hello'));
write(+0 * String('h' + 'ello'));
write(+0 * new String(''));
write(+0 * new String('hello'));
write(+0 * new String('he' + 'llo'));
write(+0 * new Object());
write(+0 * new Object());
write(+0 * [1, 2, 3]);
write(+0 * [1 ,2 , 3]);
write(+0 * new Array(3));
write(+0 * Array(3));
write(+0 * new Array(1 ,2 ,3));
write(+0 * Array(1));
write(+0 * foo);
write(-0 * undefined);
write(-0 * null);
write(-0 * true);
write(-0 * false);
write(-0 * Boolean(true));
write(-0 * Boolean(false));
write(-0 * new Boolean(true));
write(-0 * new Boolean(false));
write(-0 * NaN);
write(-0 * +0);
write(-0 * -0);
write(-0 * 0);
write(-0 * 0.0);
write(-0 * -0.0);
write(-0 * +0.0);
write(-0 * 1);
write(-0 * 10);
write(-0 * 10.0);
write(-0 * 10.1);
write(-0 * -1);
write(-0 * -10);
write(-0 * -10.0);
write(-0 * -10.1);
write(-0 * Number.MAX_VALUE);
write(-0 * Number.MIN_VALUE);
write(-0 * Number.NaN);
write(-0 * Number.POSITIVE_INFINITY);
write(-0 * Number.NEGATIVE_INFINITY);
write(-0 * new Number(NaN));
write(-0 * new Number(+0));
write(-0 * new Number(-0));
write(-0 * new Number(0));
write(-0 * new Number(0.0));
write(-0 * new Number(-0.0));
write(-0 * new Number(+0.0));
write(-0 * new Number(1));
write(-0 * new Number(10));
write(-0 * new Number(10.0));
write(-0 * new Number(10.1));
write(-0 * new Number(-1));
write(-0 * new Number(-10));
write(-0 * new Number(-10.0));
write(-0 * new Number(-10.1));
write(-0 * new Number(Number.MAX_VALUE));
write(-0 * new Number(Number.MIN_VALUE));
write(-0 * new Number(Number.NaN));
write(-0 * new Number(Number.POSITIVE_INFINITY));
write(-0 * new Number(Number.NEGATIVE_INFINITY));
write(-0 * '');
write(-0 * 0xa);
write(-0 * 04);
write(-0 * 'hello');
write(-0 * 'hel' + 'lo');
write(-0 * String(''));
write(-0 * String('hello'));
write(-0 * String('h' + 'ello'));
write(-0 * new String(''));
write(-0 * new String('hello'));
write(-0 * new String('he' + 'llo'));
write(-0 * new Object());
write(-0 * new Object());
write(-0 * [1, 2, 3]);
write(-0 * [1 ,2 , 3]);
write(-0 * new Array(3));
write(-0 * Array(3));
write(-0 * new Array(1 ,2 ,3));
write(-0 * Array(1));
write(-0 * foo);
write(0 * undefined);
write(0 * null);
write(0 * true);
write(0 * false);
write(0 * Boolean(true));
write(0 * Boolean(false));
write(0 * new Boolean(true));
write(0 * new Boolean(false));
write(0 * NaN);
write(0 * +0);
write(0 * -0);
write(0 * 0);
write(0 * 0.0);
write(0 * -0.0);
write(0 * +0.0);
write(0 * 1);
write(0 * 10);
write(0 * 10.0);
write(0 * 10.1);
write(0 * -1);
write(0 * -10);
write(0 * -10.0);
write(0 * -10.1);
write(0 * Number.MAX_VALUE);
write(0 * Number.MIN_VALUE);
write(0 * Number.NaN);
write(0 * Number.POSITIVE_INFINITY);
write(0 * Number.NEGATIVE_INFINITY);
write(0 * new Number(NaN));
write(0 * new Number(+0));
write(0 * new Number(-0));
write(0 * new Number(0));
write(0 * new Number(0.0));
write(0 * new Number(-0.0));
write(0 * new Number(+0.0));
write(0 * new Number(1));
write(0 * new Number(10));
write(0 * new Number(10.0));
write(0 * new Number(10.1));
write(0 * new Number(-1));
write(0 * new Number(-10));
write(0 * new Number(-10.0));
write(0 * new Number(-10.1));
write(0 * new Number(Number.MAX_VALUE));
write(0 * new Number(Number.MIN_VALUE));
write(0 * new Number(Number.NaN));
write(0 * new Number(Number.POSITIVE_INFINITY));
write(0 * new Number(Number.NEGATIVE_INFINITY));
write(0 * '');
write(0 * 0xa);
write(0 * 04);
write(0 * 'hello');
write(0 * 'hel' + 'lo');
write(0 * String(''));
write(0 * String('hello'));
write(0 * String('h' + 'ello'));
write(0 * new String(''));
write(0 * new String('hello'));
write(0 * new String('he' + 'llo'));
write(0 * new Object());
write(0 * new Object());
write(0 * [1, 2, 3]);
write(0 * [1 ,2 , 3]);
write(0 * new Array(3));
write(0 * Array(3));
write(0 * new Array(1 ,2 ,3));
write(0 * Array(1));
write(0 * foo);
write(0.0 * undefined);
write(0.0 * null);
write(0.0 * true);
write(0.0 * false);
write(0.0 * Boolean(true));
write(0.0 * Boolean(false));
write(0.0 * new Boolean(true));
write(0.0 * new Boolean(false));
write(0.0 * NaN);
write(0.0 * +0);
write(0.0 * -0);
write(0.0 * 0);
write(0.0 * 0.0);
write(0.0 * -0.0);
write(0.0 * +0.0);
write(0.0 * 1);
write(0.0 * 10);
write(0.0 * 10.0);
write(0.0 * 10.1);
write(0.0 * -1);
write(0.0 * -10);
write(0.0 * -10.0);
write(0.0 * -10.1);
write(0.0 * Number.MAX_VALUE);
write(0.0 * Number.MIN_VALUE);
write(0.0 * Number.NaN);
write(0.0 * Number.POSITIVE_INFINITY);
write(0.0 * Number.NEGATIVE_INFINITY);
write(0.0 * new Number(NaN));
write(0.0 * new Number(+0));
write(0.0 * new Number(-0));
write(0.0 * new Number(0));
write(0.0 * new Number(0.0));
write(0.0 * new Number(-0.0));
write(0.0 * new Number(+0.0));
write(0.0 * new Number(1));
write(0.0 * new Number(10));
write(0.0 * new Number(10.0));
write(0.0 * new Number(10.1));
write(0.0 * new Number(-1));
write(0.0 * new Number(-10));
write(0.0 * new Number(-10.0));
write(0.0 * new Number(-10.1));
write(0.0 * new Number(Number.MAX_VALUE));
write(0.0 * new Number(Number.MIN_VALUE));
write(0.0 * new Number(Number.NaN));
write(0.0 * new Number(Number.POSITIVE_INFINITY));
write(0.0 * new Number(Number.NEGATIVE_INFINITY));
write(0.0 * '');
write(0.0 * 0xa);
write(0.0 * 04);
write(0.0 * 'hello');
write(0.0 * 'hel' + 'lo');
write(0.0 * String(''));
write(0.0 * String('hello'));
write(0.0 * String('h' + 'ello'));
write(0.0 * new String(''));
write(0.0 * new String('hello'));
write(0.0 * new String('he' + 'llo'));
write(0.0 * new Object());
write(0.0 * new Object());
write(0.0 * [1, 2, 3]);
write(0.0 * [1 ,2 , 3]);
write(0.0 * new Array(3));
write(0.0 * Array(3));
write(0.0 * new Array(1 ,2 ,3));
write(0.0 * Array(1));
write(0.0 * foo);
write(-0.0 * undefined);
write(-0.0 * null);
write(-0.0 * true);
write(-0.0 * false);
write(-0.0 * Boolean(true));
write(-0.0 * Boolean(false));
write(-0.0 * new Boolean(true));
write(-0.0 * new Boolean(false));
write(-0.0 * NaN);
write(-0.0 * +0);
write(-0.0 * -0);
write(-0.0 * 0);
write(-0.0 * 0.0);
write(-0.0 * -0.0);
write(-0.0 * +0.0);
write(-0.0 * 1);
write(-0.0 * 10);
write(-0.0 * 10.0);
write(-0.0 * 10.1);
write(-0.0 * -1);
write(-0.0 * -10);
write(-0.0 * -10.0);
write(-0.0 * -10.1);
write(-0.0 * Number.MAX_VALUE);
write(-0.0 * Number.MIN_VALUE);
write(-0.0 * Number.NaN);
write(-0.0 * Number.POSITIVE_INFINITY);
write(-0.0 * Number.NEGATIVE_INFINITY);
write(-0.0 * new Number(NaN));
write(-0.0 * new Number(+0));
write(-0.0 * new Number(-0));
write(-0.0 * new Number(0));
write(-0.0 * new Number(0.0));
write(-0.0 * new Number(-0.0));
write(-0.0 * new Number(+0.0));
write(-0.0 * new Number(1));
write(-0.0 * new Number(10));
write(-0.0 * new Number(10.0));
write(-0.0 * new Number(10.1));
write(-0.0 * new Number(-1));
write(-0.0 * new Number(-10));
write(-0.0 * new Number(-10.0));
write(-0.0 * new Number(-10.1));
write(-0.0 * new Number(Number.MAX_VALUE));
write(-0.0 * new Number(Number.MIN_VALUE));
write(-0.0 * new Number(Number.NaN));
write(-0.0 * new Number(Number.POSITIVE_INFINITY));
write(-0.0 * new Number(Number.NEGATIVE_INFINITY));
write(-0.0 * '');
write(-0.0 * 0xa);
write(-0.0 * 04);
write(-0.0 * 'hello');
write(-0.0 * 'hel' + 'lo');
write(-0.0 * String(''));
write(-0.0 * String('hello'));
write(-0.0 * String('h' + 'ello'));
write(-0.0 * new String(''));
write(-0.0 * new String('hello'));
write(-0.0 * new String('he' + 'llo'));
write(-0.0 * new Object());
write(-0.0 * new Object());
write(-0.0 * [1, 2, 3]);
write(-0.0 * [1 ,2 , 3]);
write(-0.0 * new Array(3));
write(-0.0 * Array(3));
write(-0.0 * new Array(1 ,2 ,3));
write(-0.0 * Array(1));
write(-0.0 * foo);
write(+0.0 * undefined);
write(+0.0 * null);
write(+0.0 * true);
write(+0.0 * false);
write(+0.0 * Boolean(true));
write(+0.0 * Boolean(false));
write(+0.0 * new Boolean(true));
write(+0.0 * new Boolean(false));
write(+0.0 * NaN);
write(+0.0 * +0);
write(+0.0 * -0);
write(+0.0 * 0);
write(+0.0 * 0.0);
write(+0.0 * -0.0);
write(+0.0 * +0.0);
write(+0.0 * 1);
write(+0.0 * 10);
write(+0.0 * 10.0);
write(+0.0 * 10.1);
write(+0.0 * -1);
write(+0.0 * -10);
write(+0.0 * -10.0);
write(+0.0 * -10.1);
write(+0.0 * Number.MAX_VALUE);
write(+0.0 * Number.MIN_VALUE);
write(+0.0 * Number.NaN);
write(+0.0 * Number.POSITIVE_INFINITY);
write(+0.0 * Number.NEGATIVE_INFINITY);
write(+0.0 * new Number(NaN));
write(+0.0 * new Number(+0));
write(+0.0 * new Number(-0));
write(+0.0 * new Number(0));
write(+0.0 * new Number(0.0));
write(+0.0 * new Number(-0.0));
write(+0.0 * new Number(+0.0));
write(+0.0 * new Number(1));
write(+0.0 * new Number(10));
write(+0.0 * new Number(10.0));
write(+0.0 * new Number(10.1));
write(+0.0 * new Number(-1));
write(+0.0 * new Number(-10));
write(+0.0 * new Number(-10.0));
write(+0.0 * new Number(-10.1));
write(+0.0 * new Number(Number.MAX_VALUE));
write(+0.0 * new Number(Number.MIN_VALUE));
write(+0.0 * new Number(Number.NaN));
write(+0.0 * new Number(Number.POSITIVE_INFINITY));
write(+0.0 * new Number(Number.NEGATIVE_INFINITY));
